package com.gxc.blogm.service;

import java.util.List;
import java.util.Map;

import com.gxc.blogm.domain.Album;
import com.gxc.dbcore.dao.SqlDao;
import com.gxc.dbcore.util.PageInfo;
import com.gxc.dbcore.util.PageList;

public class AlbumService {

	SqlDao sqlDao;

	public SqlDao getSqlDao() {
		return sqlDao;
	}

	public void setSqlDao(SqlDao sqlDao) {
		this.sqlDao = sqlDao;
	}

	/**
	 * 获取单个专辑
	 * 
	 * @param id
	 * @return
	 */
	public Album retrieve(String id) {
		return sqlDao.selectOne("blog.album.retrieve", id);
	}

	/**
	 * 创建新专辑
	 * 
	 * @param album
	 * @return
	 */
	public int create(Album album) {
		return sqlDao.insert("blog.album.create", album);
	}

	/**
	 * 更新专辑信息
	 * 
	 * @param album
	 * @return
	 */
	public int update(Album album) {
		return sqlDao.update("blog.album.update", album);
	}

	/**
	 * 删除单个专辑
	 * 
	 * @param id
	 * @return
	 */
	public int delete(String id) {
		return sqlDao.delete("blog.album.delete", id);
	}

	/**
	 * 批量删除专辑
	 * 
	 * @param id_array
	 * @return
	 */
	public int delete(String[] id_array) {
		int i = 0;
		for (String id : id_array) {
			i += sqlDao.delete("blog.album.delete", id);
		}
		return i;
	}

	/**
	 * 列出所有专辑
	 * 
	 * @param parameter
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List listAll(Map parameter) {
		return sqlDao.selectList("blog.album.list", parameter);
	}

	/**
	 * 分页列出专辑
	 * 
	 * @param parameter
	 * @param pageInfo
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public PageList listPage(Map parameter, PageInfo pageInfo) {
		return sqlDao.selectPageList("blog.album.list", parameter, pageInfo);
	}
}
